package com.jyffeng.servlet;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 1 请求转发是通过httpservlet的RequestDispatcher接口实现的
 * 2 请求转发是服务器行为，转发是一次请求，转发后浏览器地址栏不变 客户端不知道你转发了
 * 3 客户端只产生一次请求 所以只产生了一堆response和request对象
 * 4 请求的参数可以继续传递
 * 5.请求的参数可以是继续传递的
 * 6。目标资源可以是servlet动态资源 也可以是html的静态资源
 * 7 目标资源也可以是web-inf下受保护的资源 这也是唯一一种访问web-inf的方式
 * 8 请求转发只能访问当前web应用的资源不可以访问外部资源
 */
@WebServlet("/ServletA")
public class ServletA extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         System.out.println("ServletA执行了");
        String money = req.getParameter("money");
        System.out.println("money = " + money);
        //请求转发
        RequestDispatcher requestDispatcher = req.getRequestDispatcher("/a.html");
        requestDispatcher.forward(req, resp);
    }
}
